"""
if多分支
    概述：
        他是分支结构if语句的一种写法，适用于多种情况的判断
    格式：
        if 条件1：
            代码块1
        elif 条件2:
            代码块2
        elif 条件3：
            代码块3
        ......
        else:
            代码块n

    执行流程：
        1. 先执行条件1，看其是否成立，成立则执行代码块1，然后整个if语句结束
        2. 如果条件1不成立，则执行条件2，看其是否成立，成立则执行代码块2，然后整个if语句结束
        3. 如果条件2不成立，则执行条件3，看其是否成立，成立则执行代码块3，然后整个if语句结束
        4. 重复上述的步骤，如果所有的判断他小件都不成立，则执行最后的 else ,代码块n ,至此，if语句结束

    细节：
        1. 格努需求  elif 可以写多个
        2. 最后的else 语句可以省略不写，但是它表示的是所有条件都不满足的情况，所以建议加上
        3. 以后测试数据的时候，建议测试三种值：
            合法值    满足条件
            边界值    >=   <=
            非法值    不满足条件

"""

# 需求
"""
    用户输入自己的成绩，根据成绩打印级别
    成绩            级别
    90-100         优秀
    80-89          良好
    70-79          中等
    60-70          及格
    0-60           不及格
"""
# 1. 用户输入成绩  input
score = eval(input('请输入您的成绩:'))
# 2. 根据成绩判断等级 if-elif-else
# 写法一：普通版
# if score >= 90 and score <= 100:
#     print('优秀')
# elif score >= 80 and score < 90:
#     print('良好')
# elif score >= 70 and score < 80:
#     print('中等')
# elif score >= 60 and score < 70:
#     print('及格')
# elif score >= 0 and score < 60:
#     print('不及格')
# else:
#     print('成绩错误')

# 写法二：Python特有写法   120
# if 90 <= score <= 100:
#     print('优秀')
# elif 80 <= score < 90:
#     print('良好')
# elif 70 <= score < 80:
#     print('中等')
# elif 60 <= score < 70:
#     print('及格')
# elif 0 <= score < 60:
#     print('不及格')
# else:
#     print('成绩错误')

# 写法三： 实际开发版

if score < 0 or score > 100: # 先校验非法值
    print('成绩格式错误')
elif score >= 90:     
    print('优秀')
elif score >=80:
    print('良好')
elif score >= 70:
    print('中等')
elif score >= 60:
    print('及格')
else:
    print('不及格')
